<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>回顾Object.defineproperty</title>
</head>
<body>
<script type="text/javascript">
    let number =18
    let person={
        name:'张三',
        sex:'男',
    }
    Object.defineProperty(person,'age',{
        // value:18,
        // enumerable:true,//控制属性是否可以枚举 默认值为false
        // writable:true,//可改写的 默认值为false
        // configurable:true//控制属性是否可以被删除 默认值为false

           //当有人查看person的age属性时，get函数（getter）就会被调用，且返回值就是age的值
        get() {
            console.log('有人读取age属性')
            return number
        }, //当有人修改person的age属性时，set函数（setter）就会被调用，且会收到修改的具体值
        set(value){
            console.log('有人修改了age属性，且值是',value)
        }
    }),



    // console.log(Object.keys(person))

    // for (let key in person){
    //     console.log("@", person[key])
    // }

    console.log(person)
</script>
</body>
</html>